//package ran.service;
//
//import lombok.RequiredArgsConstructor;
//import org.apache.poi.ss.usermodel.Row;
//import org.apache.poi.ss.usermodel.Sheet;
//import org.apache.poi.ss.usermodel.Workbook;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.web.multipart.MultipartFile;
//import ran.entity.OptionInfo;
//import ran.entity.QuestionInfo;
//import ran.mapper.OptionMapper;
//import ran.mapper.QuestionMapper;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
//@Service
//@RequiredArgsConstructor
//public class QuestionServiceImpl implements QuestionService {
//    @Autowired
//    private QuestionMapper questionMapper;
//    @Autowired
//    private OptionMapper optionMapper;
//
//    @Override
//    public void importExcel(MultipartFile file) throws IOException {
//        // 使用 Apache POI 读取 Excel
//        Workbook workbook = new XSSFWorkbook(file.getInputStream());
//        Sheet sheet = workbook.getSheetAt(0);
//
//        // 跳过第一行表头
//        for (int i = 1; i <= sheet.getLastRowNum(); i++) {
//            Row row = sheet.getRow(i);
//            if (row == null) continue;
//
//            // 1️⃣ 读取题目信息
//            QuestionInfo question = new QuestionInfo();
//            question.setTitle(row.getCell(1).getStringCellValue());
//            question.setAnswer(row.getCell(6).getStringCellValue());
//            question.setGrade((int) row.getCell(7).getNumericCellValue());
//            question.setRiskScore(row.getCell(8).getNumericCellValue());
//            question.setRiskTag(row.getCell(9).getStringCellValue());
//            question.setCheatType(row.getCell(10).getStringCellValue());
//            question.setQuestionType(row.getCell(11).getBooleanCellValue());
//            question.setHighRiskOption(row.getCell(12).getStringCellValue());
//
//            // 2️⃣ 插入题目表
//            questionMapper.insert(question);
//
//            // 3️⃣ 读取并封装选项
//            List<OptionInfo> options = new ArrayList<>();
//            for (int j = 2; j <= 5; j++) {
//                OptionInfo option = new OptionInfo();
//                option.setQuestionId(question.getQuestionId());
//                option.setOptionKey((char) ('A' + j - 2)); // 选项
//                option.setOptionText(row.getCell(j).getStringCellValue());
//
//                options.add(option);
//            }
//
//            // 4️⃣ 批量插入选项表
//            for (OptionInfo option : options) {
//                optionMapper.insert(option);
//            }
//        }
//
//        workbook.close();
//    }
//}
